// Gtk+ Widget for generator's drawing area.
// Copyright 2006 (C) Ralph Thomas

#ifndef MISSION_VIEW_GTK_GENERATORVIEW_H
#define MISSION_VIEW_GTK_GENERATORVIEW_H

#include <gtk/gtk.h>

G_BEGIN_DECLS

#define		MISSION_TYPE_GENERATOR_VIEW				(mission_generator_view_get_type())
#define		MISSION_GENERATOR_VIEW(obj)				(GTK_CHECK_CAST ((obj), MISSION_TYPE_GENERATOR_VIEW, MissionGeneratorView))
#define		MISSION_GENERATOR_VIEW_CLASS(klass)		(GTK_CHECK_CLASS_CAST ((klass), MISSION_TYPE_GENERATOR_VIEW, MissionGeneratorViewClass))
#define		MISSION_IS_GENERATOR_VIEW(obj)			(GTK_CHECK_TYPE ((obj), MISSION_TYPE_GENERATOR_VIEW))
#define 	MISSION_IS_GENERATOR_VIEW_CLASS(klass)	(GTK_CHECK_CLASS_TYPE ((klass), MISSION_TYPE_GENERATOR_VIEW))
#define		MISSION_GENERATOR_VIEW_GET_CLASS(obj)	(GTK_CHECK_GET_CLASS((obj), MISSION_TYPE_GENERATOR_VIEW, MissionGeneratorViewClass))

typedef struct _MissionGeneratorView		MissionGeneratorView;
typedef struct _MissionGeneratorViewClass	MissionGeneratorViewClass;

struct _MissionGeneratorView {
	GtkWidget		parent;
};

struct _MissionGeneratorViewClass {
	GtkWidgetClass	parent_class;

	void		(* select_all)			(MissionGeneratorView*	view);
	void		(* unselect_all)		(MissionGeneratorView*	view);
	void		(* select_cursor_item)	(MissionGeneratorView*	view);
	void		(* toggle_cursor_item)	(MissionGeneratorView*	view);
	gboolean	(* move_cursor)			(MissionGeneratorView*	view,
										 GtkMovementStep		step,
										 gint					count);
	gboolean	(* activate_cursor_item)(MissionGeneratorView*	view);
};

GType		mission_generator_view_get_type() G_GNUC_CONST;
GtkWidget*	mission_generator_view_new();

G_END_DECLS

#endif

